import { defineStore } from 'pinia'

export const useShortcutsStore = defineStore('shortcuts', {
  state: () => ({
    // 自定义快捷方式列表
    customShortcuts: []
  }),

  getters: {
    // 获取所有快捷方式
    allShortcuts: (state) => state.customShortcuts,
    
    // 获取快捷方式数量
    count: (state) => state.customShortcuts.length
  },

  actions: {
    // 初始化快捷方式（从localStorage加载）
    init() {
      const saved = localStorage.getItem('custom-shortcuts')
      if (saved) {
        try {
          this.customShortcuts = JSON.parse(saved)
        } catch (e) {
          console.error('加载快捷方式失败', e)
          this.customShortcuts = this.getDefaultShortcuts()
        }
      } else {
        this.customShortcuts = this.getDefaultShortcuts()
      }
    },

    // 获取默认快捷方式
    getDefaultShortcuts() {
      return [
        {
          name: '销售订单',
          path: '/sales/orders',
          icon: 'ShoppingCart',
          color: '#409EFF',
          description: '快速访问销售订单'
        },
        {
          name: '库存查询',
          path: '/inventory/stock',
          icon: 'Box',
          color: '#67C23A',
          description: '查看库存情况'
        },
        {
          name: '客户管理',
          path: '/sales/customers',
          icon: 'UserFilled',
          color: '#E6A23C',
          description: '管理客户信息'
        }
      ]
    },

    // 添加快捷方式
    addShortcut(shortcut) {
      this.customShortcuts.push(shortcut)
      this.save()
    },

    // 更新快捷方式
    updateShortcut(index, shortcut) {
      if (index >= 0 && index < this.customShortcuts.length) {
        this.customShortcuts[index] = shortcut
        this.save()
      }
    },

    // 删除快捷方式
    deleteShortcut(index) {
      if (index >= 0 && index < this.customShortcuts.length) {
        this.customShortcuts.splice(index, 1)
        this.save()
      }
    },

    // 设置所有快捷方式
    setShortcuts(shortcuts) {
      this.customShortcuts = shortcuts
      this.save()
    },

    // 保存到localStorage
    save() {
      localStorage.setItem('custom-shortcuts', JSON.stringify(this.customShortcuts))
    },

    // 重置为默认
    reset() {
      this.customShortcuts = this.getDefaultShortcuts()
      this.save()
    }
  }
})

